package com.AdvancedDemos.LearnVariousAPI.时间日期类.JDK8新时间日期类;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class LearnDateTimeFormatter {
    public static void main(String[] args) {
        /**
         *DateTimeFormatter : 格式化器,用于时间的格式化,解析,用于替代SimpleDateFormat,是线程安全的
         *
         * public static DateTimeFormatter ofPattern("时间格式") --- 获取格式化器对象
         * public String format(时间对象) --- 格式化时间
         */

        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);
        //写法1 用格式化器格式化时间
        String format = dateTimeFormatter.format(now);//括号里可以放LocalDateTime,Instant,ZonedDateTime...对象
        System.out.println(format);
        //写法2 用时间调用格式化器
        //public String format(DateTimeFormatter formatter) --- 格式化时间
        String format1 = now.format(dateTimeFormatter);
        System.out.println(format1);


        //解析格式化的字符串时间,一般使用LocalDateTime中的解析方法去将字符串时间按照格式化器的格式解析成LocalDateTime
        //public static LocalDateTime parse(CharSequence text,DateTimeFormatter formatter)
        String str = "2077年03月28日 00:30:01";
        LocalDateTime parse = LocalDateTime.parse(str, dateTimeFormatter);
        System.out.println(parse);

    }
}
